/*
 * @FileName: bsp_gpio.h
 * @Author: GreyQiu qiushaogui@aikosolar.com
 * @Date: 2023-07-12 16:05:59
 * @LastEditors: GreyQiu qiushaogui@aikosolar.com
 * @LastEditTime: 2023-09-23 10:20:45
 * @Description: 
 * 
 * Copyright (c) 2023, All Rights Reserved. 
 */

#ifndef __BSP_GPIO_H__
#define __BSP_GPIO_H__

#include "n32g430.h"
/**
 * @description: LED驱动引脚定义
 */
#define PORT_RELAY_L        GPIOB
#define PIN_RELAY_L         GPIO_PIN_3

#define PORT_RELAY_N        GPIOA
#define PIN_RELAY_N         GPIO_PIN_15



/**
 * @description: UART通信引脚定义
 */
#define PORT_HMI           GPIOA
#define PIN_HMI_TX         GPIO_PIN_6
#define PIN_HMI_RX         GPIO_PIN_7
#define AF_HMI_TX          GPIO_AF11_USART2
#define AF_HMI_RX          GPIO_AF11_USART2

#define PORT_DSP           GPIOB
#define PIN_DSP_TX         GPIO_PIN_6
#define PIN_DSP_RX         GPIO_PIN_7
#define AF_DSP_TX          GPIO_AF1_USART1
#define AF_DSP_RX          GPIO_AF1_USART1

/**
 * @description: ADC采样
 */
#define PORT_ADC_VAC        GPIOA
#define PIN_ADC_VAC         GPIO_PIN_3

/**
 * @description: 对外接口声明
 */
void bsp_gpio_init(void);
void bsp_gpio_set(GPIO_Module* port, uint32_t pin);
void bsp_gpio_reset(GPIO_Module* port, uint32_t pin);
void bsp_gpio_toggle(GPIO_Module* port, uint32_t pin);
uint8_t bsp_gpio_read(GPIO_Module* port, uint32_t pin);
#endif /* __BSP_GPIO_H__ */

